Exploratory Data Analysis of Censo Escolar

The following code load the necessary packages.

library(tidyverse)
library(ggthemes)
library(infer)
library(broom)
library(stargazer)
library(modelsummary)

The following code read the data from my computer. But I saved all the data on a .RData file. This file is uploaded to github so everyone can download it and check the code by yourself.

read.data <- function(year, file, variables){
  censo.escolar.year <- read_delim(file, 
                                 delim = ';',
                                 locale = locale(encoding = 'WINDOWS-1252'),
                                 escape_double = TRUE,
                                 trim_ws = TRUE,
                                 col_select = variables)}

variables <- c('NU_ANO_CENSO', 'NO_REGIAO', 'CO_REGIAO',
                                 'CO_UF', 'NO_MUNICIPIO', 'CO_ENTIDADE', 
                                 'TP_DEPENDENCIA', 'TP_LOCALIZACAO', 'TP_CATEGORIA_ESCOLA_PRIVADA',
                                 'TP_SITUACAO_FUNCIONAMENTO', 'IN_INTERNET',
                                 'IN_INTERNET_ALUNOS', 'IN_BANDA_LARGA', 
                                 'QT_MAT_BAS_D', 'QT_MAT_BAS_N', 'QT_MAT_BAS_EAD',
                                 'IN_FUND', 'IN_FUND_AI', 'IN_FUND_AF', 'IN_MED',
                                 'QT_MAT_FUND', 'QT_MAT_FUND_AI', 'QT_MAT_FUND_AF',
                                 'QT_MAT_MED', 'QT_MAT_EJA_MED', 'QT_MAT_FUND_INT', 
                                 'QT_MAT_FUND_AI_INT', 'QT_MAT_FUND_AF_INT', 
                                 'QT_MAT_MED_INT')

file.2022 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2022/Dados/microdados_ed_basica_2022.csv'

file.2021 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2021/Dados/microdados_ed_basica_2021.csv'

file.2020 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2020/Dados/microdados_ed_basica_2020.csv'

file.2019 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2019/Dados/microdados_ed_basica_2019.csv'
  
file.2018 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2018/Dados/microdados_ed_basica_2018.csv'
  
file.2017 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2017/Dados/microdados_ed_basica_2017.csv'
  
file.2016 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2016/Dados/microdados_ed_basica_2016.csv'
  
file.2015 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2015/Dados/microdados_ed_basica_2015.csv'
  
file.2014 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2014/Dados/microdados_ed_basica_2014.csv'
  
file.2013 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2013/Dados/microdados_ed_basica_2013.csv'
  
file.2012 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2012/Dados/microdados_ed_basica_2012.csv'
  
file.2011 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2011/Dados/microdados_ed_basica_2011.csv'
  
file.2010 <- '~/Documentos/microdados/censo escolar/microdados_ed_basica_2010/Dados/microdados_ed_basica_2010.csv'
  
censo.escolar.2022 <- read.data(2022, file.2022, variables)

censo.escolar.2021 <- read.data(2021, file.2021, variables)

censo.escolar.2020 <- read.data(2020, file.2020, variables)

censo.escolar.2019 <- read.data(2019, file.2019, variables)

censo.escolar.2018 <- read.data(2018, file.2018, variables)

censo.escolar.2017 <- read.data(2017, file.2017, variables)

censo.escolar.2016 <- read.data(2016, file.2016, variables)

censo.escolar.2015 <- read.data(2015, file.2015, variables)

censo.escolar.2014 <- read.data(2014, file.2014, variables)

censo.escolar.2013 <- read.data(2013, file.2013, variables)

censo.escolar.2012 <- read.data(2012, file.2012, variables)

censo.escolar.2011 <- read.data(2011, file.2011, variables)

censo.escolar.2010 <- read.data(2010, file.2010, variables)

Now, let’s bind all this data.frame in only one data.frame called censo.escolar.

I’ve saved the data as censo_escolar.Rdata. This file is available on my repo: repo

To read the censo_escolar.Rdata, you can use the following code: > load(“paste_the_file_directory_here”)

Let’s visualize the first lines of the data frame.

To make data analysis easier, it is good practice to rename the variables. Let’s do it.

Before analyse the data is interesting to look at the format of all variables. It is possible to see that there is 3.017.633 rows and 40 columns.

## Rows: 3,017,633
## Columns: 29
## $ Ano                                                         <dbl> 2010, 2010…
## $ Nome_região_geográfica                                      <chr> "Norte", "…
## $ Código_região_geográfica                                    <dbl> 1, 1, 1, 1…
## $ Código_UF                                                   <dbl> 11, 11, 11…
## $ Nome_Município                                              <chr> "Alta Flor…
## $ Código_Escola                                               <dbl> 11022558, …
## $ Dependência_Administrativa                                  <dbl> 2, 2, 3, 3…
## $ Localização                                                 <dbl> 2, 1, 2, 2…
## $ Categoria_escola_privada                                    <dbl> 0, 0, 0, 0…
## $ Situação_funcionamento                                      <dbl> 1, 1, 1, 1…
## $ Acesso_Internet                                             <dbl> 0, 1, 0, 0…
## $ Acesso_Internet_alunos                                      <dbl> 0, 0, 0, 0…
## $ Internet_Banda_Larga                                        <dbl> 0, 1, 0, 0…
## $ Número_Matrículas_Educação_Básica_Diurno                    <dbl> 5, 0, 0, 0…
## $ Número_Matrículas_Educação_Básica_Noturno                   <dbl> 0, 660, 0,…
## $ Número_Matrículas_Educação_Básica_Distância                 <dbl> 0, 0, 0, 0…
## $ Ensino_Fundamental_Possui_matrículas                        <dbl> 1, 0, 1, 1…
## $ Ensino_Fundamental_Anos_Iniciais_Possui_matrículas          <dbl> 1, 0, 1, 1…
## $ Ensino_Fundamental_Anos_Finais_Possui_matrículas            <dbl> 0, 0, 0, 0…
## $ Ensino_Médio_Possui_matrículas                              <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Fundamental                        <dbl> 5, 0, 19, …
## $ Número_Matrículas_Ensino_Fundamental_Anos_Iniciais          <dbl> 5, 0, 19, …
## $ Número_Matrículas_Ensino_Fundamental_Anos_Finais            <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Médio                              <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Médio_EJA                          <dbl> 0, 359, 0,…
## $ Número_Matrículas_Ensino_Fundamental_integral               <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Fundamental_Anos_Iniciais_integral <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Fundamental_Anos_Finais_integral   <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Médio_Integral                     <dbl> 0, 0, 0, 0…

Let’s change the format of variables that should be factors. In R, factors are used to work with categorical variables.

Now, it is possible to see that we have the correct format of categorical variables.

## Rows: 3,017,633
## Columns: 29
## $ Ano                                                         <dbl> 2010, 2010…
## $ Nome_região_geográfica                                      <fct> Norte, Nor…
## $ Código_região_geográfica                                    <dbl> 1, 1, 1, 1…
## $ Código_UF                                                   <dbl> 11, 11, 11…
## $ Nome_Município                                              <chr> "Alta Flor…
## $ Código_Escola                                               <dbl> 11022558, …
## $ Dependência_Administrativa                                  <fct> Estadual, …
## $ Localização                                                 <fct> Rural, Urb…
## $ Categoria_escola_privada                                    <fct> NA, NA, NA…
## $ Situação_funcionamento                                      <fct> Em_ativida…
## $ Acesso_Internet                                             <fct> Não, Sim, …
## $ Acesso_Internet_alunos                                      <fct> Não, Não, …
## $ Internet_Banda_Larga                                        <fct> Não, Sim, …
## $ Número_Matrículas_Educação_Básica_Diurno                    <dbl> 5, 0, 0, 0…
## $ Número_Matrículas_Educação_Básica_Noturno                   <dbl> 0, 660, 0,…
## $ Número_Matrículas_Educação_Básica_Distância                 <dbl> 0, 0, 0, 0…
## $ Ensino_Fundamental_Possui_matrículas                        <fct> Sim, Não, …
## $ Ensino_Fundamental_Anos_Iniciais_Possui_matrículas          <fct> Sim, Não, …
## $ Ensino_Fundamental_Anos_Finais_Possui_matrículas            <fct> Não, Não, …
## $ Ensino_Médio_Possui_matrículas                              <fct> Não, Não, …
## $ Número_Matrículas_Ensino_Fundamental                        <dbl> 5, 0, 19, …
## $ Número_Matrículas_Ensino_Fundamental_Anos_Iniciais          <dbl> 5, 0, 19, …
## $ Número_Matrículas_Ensino_Fundamental_Anos_Finais            <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Médio                              <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Médio_EJA                          <dbl> 0, 359, 0,…
## $ Número_Matrículas_Ensino_Fundamental_integral               <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Fundamental_Anos_Iniciais_integral <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Fundamental_Anos_Finais_integral   <dbl> 0, 0, 0, 0…
## $ Número_Matrículas_Ensino_Médio_Integral                     <dbl> 0, 0, 0, 0…

Number of school enrollment at basic education.

After formatting the variables, let’s make some exploratory data analysis. First, let’s take a look at the number of school enrollment at basic education.

Let’s use a graph to better visualize this data.

It is possible to conclude that the number of enrollment at basic education is falling.

Now, the enrollment at basic education separated by location of school.

The graph above allows to conclude that the number of enrollments at elementary school is falling at rural areas and is growing at urban areas.

The same happens to the number of enrollments at high school as we can see at the graph bellow.

Proportion of school with fast internet connection.

Now, let’s visualize a table of the proportion of school with fast internet connection.

Now, a graph to better visualization.

The next table shows the proportion of schools with fast internet connection.

The graph bellow shows the proportion of schools with fast internet connection by location.

## `summarise()` has grouped output by 'Ano'. You can override using the `.groups`
## argument.

Exploratory Data Analysis of SAEB.

Reading data from saeb.2021.5EF and saeb.2021.9EF and select the variables we are going to use.

Visualizing the first lines of both dataframes.

Now, it is important to get to know the dataframe. To do this let’s use the glimpse function.

glimpse(saeb.2021.5EF)
## Rows: 2,554,184
## Columns: 14
## $ ID_REGIAO            <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ ID_AREA              <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
## $ IN_PUBLICA           <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ ID_LOCALIZACAO       <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ PROFICIENCIA_LP_SAEB <dbl> 230.7138, NA, NA, 162.7141, 202.4525, 125.4328, 1…
## $ PROFICIENCIA_MT_SAEB <dbl> 243.7032, NA, NA, 148.9907, 207.3496, 197.3718, 2…
## $ INSE_ALUNO           <dbl> 5.27, NA, NA, 5.03, 5.78, 4.33, 7.14, NA, 4.66, 4…
## $ NU_TIPO_NIVEL_INSE   <dbl> 5, NA, NA, 5, 6, 3, 8, NA, 4, 4, 4, NA, NA, 4, 4,…
## $ TX_RESP_Q01          <chr> "B", ".", ".", "B", "B", "A", "A", ".", "B", "B",…
## $ TX_RESP_Q02          <chr> "B", ".", ".", "B", "B", "B", "B", ".", "B", "B",…
## $ TX_RESP_Q04          <chr> "F", ".", ".", "F", "F", "C", "A", ".", "A", "*",…
## $ TX_RESP_Q07          <chr> "D", ".", ".", "C", "F", "F", "F", ".", "F", "B",…
## $ TX_RESP_Q08          <chr> "D", ".", ".", "D", "F", "F", "F", ".", "F", "A",…
## $ TX_RESP_Q18          <chr> "A", ".", ".", "A", "A", "A", "A", ".", "A", "A",…
glimpse(saeb.2021.9EF)
## Rows: 2,591,937
## Columns: 14
## $ ID_REGIAO            <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ ID_AREA              <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
## $ IN_PUBLICA           <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ ID_LOCALIZACAO       <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ PROFICIENCIA_LP_SAEB <dbl> 302.8010, 179.7329, NA, NA, 213.7433, 175.5950, 2…
## $ PROFICIENCIA_MT_SAEB <dbl> 234.7395, 165.1889, NA, NA, 208.5897, 188.6864, 2…
## $ INSE_ALUNO           <dbl> 4.81, 5.16, NA, NA, 4.71, 4.81, 4.27, 4.16, 4.71,…
## $ NU_TIPO_NIVEL_INSE   <dbl> 4, 5, NA, NA, 4, 4, 3, 3, 4, 5, 5, NA, 4, NA, 6, …
## $ TX_RESP_Q01          <chr> "A", "A", ".", ".", "B", "B", "B", "B", "A", "A",…
## $ TX_RESP_Q02          <chr> "B", "E", ".", ".", "B", "E", "C", "C", "D", "C",…
## $ TX_RESP_Q04          <chr> "A", "C", ".", ".", "A", "C", "D", "A", "C", "C",…
## $ TX_RESP_Q07          <chr> "D", "F", ".", ".", "B", "F", "F", "C", "E", "D",…
## $ TX_RESP_Q08          <chr> "F", "F", ".", ".", "B", "F", "F", "B", "F", "F",…
## $ TX_RESP_Q18          <chr> "A", "C", ".", ".", ".", "B", "A", "A", "B", "A",…

A lot of variables are defined as Characters. Let’s format this variables to factors.

glimpse(saeb.2021.5EF)
## Rows: 2,554,184
## Columns: 14
## $ ID_REGIAO            <fct> Norte, Norte, Norte, Norte, Norte, Norte, Norte, …
## $ ID_AREA              <fct> Interior, Interior, Interior, Interior, Interior,…
## $ IN_PUBLICA           <fct> Pública, Pública, Pública, Pública, Pública, Públ…
## $ ID_LOCALIZACAO       <fct> Urbana, Urbana, Urbana, Urbana, Urbana, Urbana, U…
## $ PROFICIENCIA_LP_SAEB <dbl> 230.7138, NA, NA, 162.7141, 202.4525, 125.4328, 1…
## $ PROFICIENCIA_MT_SAEB <dbl> 243.7032, NA, NA, 148.9907, 207.3496, 197.3718, 2…
## $ INSE_ALUNO           <dbl> 5.27, NA, NA, 5.03, 5.78, 4.33, 7.14, NA, 4.66, 4…
## $ NU_TIPO_NIVEL_INSE   <dbl> 5, NA, NA, 5, 6, 3, 8, NA, 4, 4, 4, NA, NA, 4, 4,…
## $ TX_RESP_Q01          <fct> Feminino, Branco, Branco, Feminino, Feminino, Mas…
## $ TX_RESP_Q02          <fct> 10 anos, Branco, Branco, 10 anos, 10 anos, 10 ano…
## $ TX_RESP_Q04          <fct> Não quero declarar, Branco, Branco, Não quero dec…
## $ TX_RESP_Q07          <fct> "Ensino Médio completo", "Branco", "Branco", "Ens…
## $ TX_RESP_Q08          <fct> "Ensino Médio completo", "Branco", "Branco", "Ens…
## $ TX_RESP_Q18          <fct> "Não", "Branco", "Branco", "Não", "Não", "Não", "…
glimpse(saeb.2021.9EF)
## Rows: 2,591,937
## Columns: 14
## $ ID_REGIAO            <fct> Norte, Norte, Norte, Norte, Norte, Norte, Norte, …
## $ ID_AREA              <fct> Interior, Interior, Interior, Interior, Interior,…
## $ IN_PUBLICA           <fct> Pública, Pública, Pública, Pública, Pública, Públ…
## $ ID_LOCALIZACAO       <fct> Urbana, Urbana, Urbana, Urbana, Urbana, Urbana, U…
## $ PROFICIENCIA_LP_SAEB <dbl> 302.8010, 179.7329, NA, NA, 213.7433, 175.5950, 2…
## $ PROFICIENCIA_MT_SAEB <dbl> 234.7395, 165.1889, NA, NA, 208.5897, 188.6864, 2…
## $ INSE_ALUNO           <dbl> 4.81, 5.16, NA, NA, 4.71, 4.81, 4.27, 4.16, 4.71,…
## $ NU_TIPO_NIVEL_INSE   <dbl> 4, 5, NA, NA, 4, 4, 3, 3, 4, 5, 5, NA, 4, NA, 6, …
## $ TX_RESP_Q01          <fct> Masculino, Masculino, Branco, Branco, Feminino, F…
## $ TX_RESP_Q02          <fct> 14 anos, 17 anos, Branco, Branco, 14 anos, 17 ano…
## $ TX_RESP_Q04          <fct> Branca, Parda, Branco, Branco, Branca, Parda, Ama…
## $ TX_RESP_Q07          <fct> "Ensino Médio completo", "Não sei", "Branco", "Br…
## $ TX_RESP_Q08          <fct> "Não sei", "Não sei", "Branco", "Branco", "Ensino…
## $ TX_RESP_Q18          <fct> "Não", "Sim, duas vezes ou mais", "Branco", "Bran…

Now, let’s rename the variables.

## tibble [2,554,184 × 14] (S3: tbl_df/tbl/data.frame)
##  $ Região_Geográfica   : Factor w/ 5 levels "Norte","Nordeste",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Area                : Factor w/ 2 levels "Capital","Interior": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Rede_de_Ensino      : Factor w/ 2 levels "Privada","Pública": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Localização         : Factor w/ 2 levels "Urbana","Rural": 1 1 1 1 1 1 1 1 1 1 ...
##  $ PROFICIENCIA_LP_SAEB: num [1:2554184] 231 NA NA 163 202 ...
##  $ PROFICIENCIA_MT_SAEB: num [1:2554184] 244 NA NA 149 207 ...
##  $ INSE_ALUNO          : num [1:2554184] 5.27 NA NA 5.03 5.78 4.33 7.14 NA 4.66 4.61 ...
##  $ NU_TIPO_NIVEL_INSE  : num [1:2554184] 5 NA NA 5 6 3 8 NA 4 4 ...
##  $ Sexo                : Factor w/ 4 levels "Nulo","Branco",..: 4 2 2 4 4 3 3 2 4 4 ...
##  $ Idade               : Factor w/ 8 levels "Nulo","Branco",..: 4 2 2 4 4 4 4 2 4 4 ...
##  $ Raça                : Factor w/ 8 levels "Nulo","Branco",..: 8 2 2 8 8 5 3 2 3 1 ...
##  $ Escolaridade_Mãe    : Factor w/ 8 levels "Nulo","Branco",..: 6 2 2 5 8 8 8 2 8 4 ...
##  $ Escolaridade_Pai    : Factor w/ 8 levels "Nulo","Branco",..: 6 2 2 6 8 8 8 2 8 3 ...
##  $ Já_foi_reprovado    : Factor w/ 5 levels "Nulo","Branco",..: 3 2 2 3 3 3 3 2 3 3 ...
## tibble [2,591,937 × 14] (S3: tbl_df/tbl/data.frame)
##  $ Região_Geográfica   : Factor w/ 5 levels "Norte","Nordeste",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Area                : Factor w/ 2 levels "Capital","Interior": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Rede_de_Ensino      : Factor w/ 2 levels "Privada","Pública": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Localização         : Factor w/ 2 levels "Urbana","Rural": 1 1 1 1 1 1 1 1 1 1 ...
##  $ PROFICIENCIA_LP_SAEB: num [1:2591937] 303 180 NA NA 214 ...
##  $ PROFICIENCIA_MT_SAEB: num [1:2591937] 235 165 NA NA 209 ...
##  $ INSE_ALUNO          : num [1:2591937] 4.81 5.16 NA NA 4.71 4.81 4.27 4.16 4.71 5.24 ...
##  $ NU_TIPO_NIVEL_INSE  : num [1:2591937] 4 5 NA NA 4 4 3 3 4 5 ...
##  $ Sexo                : Factor w/ 4 levels "Nulo","Branco",..: 3 3 2 2 4 4 4 4 3 3 ...
##  $ Idade               : Factor w/ 8 levels "Nulo","Branco",..: 4 7 2 2 4 7 5 5 6 5 ...
##  $ Raça                : Factor w/ 8 levels "Nulo","Branco",..: 3 5 2 2 3 5 6 3 5 5 ...
##  $ Escolaridade_Mãe    : Factor w/ 8 levels "Nulo","Branco",..: 6 8 2 2 4 8 8 5 7 6 ...
##  $ Escolaridade_Pai    : Factor w/ 8 levels "Nulo","Branco",..: 8 8 2 2 4 8 8 4 8 8 ...
##  $ Já_foi_reprovado    : Factor w/ 5 levels "Nulo","Branco",..: 3 5 2 2 2 4 3 3 4 3 ...

Mean and standard deviation of the achievement in math and portuguese.

Let’s get some descriptive statistics such as mean and standard deviation of the achievement in math and portuguese. The results below are from students from the fifth year of elementary school.

Now, the results from the students from the ninth year of elementary school.

The number of students by age.

Let’s count the number of students who do the test by age. The results below are from the students of the fifth year of elementary school.

The results below are from the students of the ninth year of elementary school.

How many sudents have been reproved?

The results below are from the students of the fifth year of elementary school.

The results from the students of the ninth year of elementary school.

Level of parent’s education.

The education economics literature shows the high correlation between parental education and student’s performance. Let’s get some descriptive data about parent’s education. The results below are from the student’s mother of the fifth year of elementary school.

The results below are from the students’ father of the fifth year of elementary school.

The results below are from the students’ mother of the ninth year of elementary school.

The results below are from the students’ father of the ninth year of elementary school.

Probability distribution of student’s achievement.

The probability distribution of student’s achievement in portuguese by sex. The results are from students of the fifth year of elementary school.

The probability distribution of student’s achievement in math by sex. The results are from students of the fifth year of elementary school.

The probability distribution of student’s achievement in portuguese by sex. The results are from students of the ninth year of elementary school.

The probability distribution of student’s achievement in math by sex. The results are from students of the ninth year of elementary school.

Boxplot of student’s achievement.

Inferential analysis.

Now, let’s do some basic inferential analysis.

Is there a statistical significant difference between boy’s and girl’s achievement? Let’s answer this question. The null hypotheses says there is no difference between boy’s and girl’s average achievement. The alternative hypotheses says take girls has higher achievement than boys.

The result bellow are the difference between the girl’s achievement and boy’s achievement.

## [1] 12.68334
  • Now, let’s check the summary of a linear regression. The variables are coded as follows:
    • Sexo == 1 se masculino
    • Sexo == 0 se feminino
    • Localização == 1 se urbana
    • Localização == 0 se rural
    • Raça == 1 se branca
    • Raça == 0 não branca
    • Escolaridade_Mãe == 1 se tem ensino superior
    • Escolaridade_Mãe == 0 se não tem ensino superior
    • Escolaridade_pai == 1 se tem ensino superior
    • Escolaridade_pai == 0 se não tem ensino superior.
## 
## Call:
## lm(formula = PROFICIENCIA_LP_SAEB ~ Sexo + Localização + Raça + 
##     Escolaridade_Mãe + Escolaridade_Pai + Já_foi_reprovado + 
##     INSE_ALUNO, data = saeb.2021.5EF.regressão)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -159.061  -33.232   -0.361   32.446  191.186 
## 
## Coefficients:
##                   Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)      149.10407    0.46751  318.93 <0.0000000000000002 ***
## Sexo             -11.55036    0.14711  -78.52 <0.0000000000000002 ***
## Localização        9.80745    0.23012   42.62 <0.0000000000000002 ***
## Raça               5.32153    0.15521   34.28 <0.0000000000000002 ***
## Escolaridade_Mãe  10.65658    0.21011   50.72 <0.0000000000000002 ***
## Escolaridade_Pai   6.10634    0.21701   28.14 <0.0000000000000002 ***
## Já_foi_reprovado -34.23239    0.20002 -171.14 <0.0000000000000002 ***
## INSE_ALUNO        11.37598    0.09317  122.10 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 46.54 on 405208 degrees of freedom
##   (23893 observations deleted due to missingness)
## Multiple R-squared:  0.1932, Adjusted R-squared:  0.1932 
## F-statistic: 1.386e+04 on 7 and 405208 DF,  p-value: < 0.00000000000000022